Release 10.1A: OpenEdge Data Management:
DataServer for ORACLE
Unknown Value (?)
The DataServer supports the Unknown value (
?), which is represented by a question mark (?) in OpenEdge. In ORACLE the Unknown value (?) is stored as aNULLvalue. This section describes how the DataServer handles the Unknown value (?). Table 2–7 summarizes how the OpenEdge Unknown value (?), the ORACLE unknown, andNULLvalues map to each other.
Table 2–7: Unknown value (?) and NULL values Progress 4GL value ORACLE equivalent Unknown value (?)NULL "" (Zero-length string) " " (One space)
You can assign the Unknown value (
?) to a field in an ORACLE database by using the question mark (?) operator, which represents the Unknown value (?). For example, the following procedure assigns the OpenEdge Unknown value (?) to theaddress2field of thecustomertable:
The Progress 4GL Unknown value (
Note: Columns that have the?) sorts high in ORACLE DataServer applications, as it does in OpenEdge applications. For an ascending index, the Unknown value (?), or values (?), always appear at the end of a sort, for a descending index, they appear at the beginning.NOTNULLattribute cannot contain the Unknown value (?).Another difference in behavior between the Unknown value (
?) andNULLis that ORACLE does not return rows that containNULLunless an operation involvingNULLis specified. The following query will not return rows withNULLfor an ORACLE database. However, when you run it against an OpenEdge database, the query returns all thecustomerswhose names are notSmith, including those whose names are unknown. For example:
Although the example statement will not generate an illegal operator message, it will not necessarily generate the same results with an ORACLE database that it will with an OpenEdge database.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |